import { createRouter, createWebHistory } from 'vue-router';

// 创建一个 require.context 实例，自动导入 page 目录下的所有 .vue 文件
const modulesFiles = require.context('@/page', true, /\.vue$/);

// 生成路由配置
const routes = modulesFiles.keys().map(key => {
  // 获取文件名（去掉路径和扩展名）
  const fileName = key.replace(/^\.\/(.*)\.\w+$/, '$1');
  // 将文件名转换为 PascalCase 并去掉下划线
  const componentName = fileName.replace(/[-_](\w)/g, (match, letter) => letter.toUpperCase());
  // 导入组件
  const component = modulesFiles(key).default;
  // 返回路由配置对象
  return {
    path: `/${fileName.toLowerCase().replace(/_/g, '-')}`,
    name: componentName,
    component: component
  };
});

routes.push({
  path: '/',
  name: 'HomePage',
  component: () => import('@/page/HomePage.vue')
});

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;